#ifndef _TAB_DYN
#define _TAB_DYN

#include "Monster.h"

typedef Monster* ElementTD;

struct sTableauDynamique
{
  unsigned int capacite;
  unsigned int taille_utilisee;
  ElementTD * ad;
};
typedef struct sTableauDynamique TableauDynamique;


void initialiserTabDyn(TableauDynamique * t); 

void testamentTabDyn(TableauDynamique *t);

void affecterTabDyn(TableauDynamique *t1, const TableauDynamique *t2);

unsigned int tailleUtiliseeTabDyn(const TableauDynamique *t);

ElementTD valeurIemeElementTabDyn(const TableauDynamique *t, unsigned int i);

void ajouterElementTabDyn(TableauDynamique *t, ElementTD e);

void supprimerElementTabDyn( TableauDynamique *t, int position );

void modifierValeurIemeElementTabDyn(TableauDynamique *t, ElementTD e, unsigned int i);

void insererElementTabDyn(TableauDynamique *t, ElementTD e, unsigned int i);

int rechercherElementTabDyn(const TableauDynamique *t, ElementTD e);

int testElementAppartienTabDyn(const TableauDynamique *,ElementTD);

void dynTabPermutation(TableauDynamique *);

int dynTabPositionElement(const TableauDynamique *,ElementTD e);

void dynTabTestRegression();

#endif
